/*
 * 배열 객체는 3개 선언하고 try 문서의 인덱스 처리는 4개를 처리하면 예외 상황이 발생한다.
 * 예외처리(try-catch-finally 문 이용) 가능한 애플리케이션(콘솔) 프로그램을 작성하시오.
 * 
 * 처리조건
 * - 배열 객체를 사용할 것
 * - 배열 객체는 3개인데 try문에서의 인덱스 처리는 4개를 처리하여 예외를 발생시킬 것
 * - ArrayIndexOutOfBoundsException이라는 예외가 발생하면 catch 문에서 처리할 것
 * - 예외 처리를 위하여 try-catch-finally 문을 이용할 것
 * - Try문에서 go() 메소드를 호출하여 처리하며, go() 메소드 내에서는 throws 문을 사용해 예외를 처리할 것
 */
public class Java_20111107_3 {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		System.out.println("====== 예외처리 프로그램(throws) ======");
		
		try {
			System.out.println("====== try step ======");
			go();
		}
		
		catch(ArrayIndexOutOfBoundsException e) {
			System.out.println("---- exception step ----");	
		}
		
		finally {

			System.out.println("---- finally step ----");
		}
	}	
		private static void go() throws java.lang.ArrayIndexOutOfBoundsException {
			String[] ken = {"One", "Two", "Three"};
			
			for(int i=0; i<4; i++)
			{
				System.out.println(ken[i]);
				System.out.println("====== throws step ======\n");
			}
		}

}